using namespace std;
#include<iostream>

#include<etcd/Client.hpp>
#include<etcd/KeepAlive.hpp>
#include<etcd/Response.hpp>

#include"etcd.hpp"


int main()
{/*
    //实例化 etcd 客户端对象
    etcd::Client etcd_client("127.0.0.1:2379");

    //创建租约保活对象 ( 长连接)
    //pplx::task<std::shared_ptr<KeepAlive>> leasekeepalive(int ttl)
    shared_ptr<etcd::KeepAlive> keep_alive = etcd_client.leasekeepalive(10).get();//设置保活时间

    //获取租约ID
    uint64_t lease_id = keep_alive->Lease();

    //注册服务（添加键值）
    //put 操作主要用于向 etcd 中写入或更新键值对。无论键是否已经存在，put 都会将指定的值写入该键，如果键已经存在，新值会覆盖旧值。
    etcd::Response resp1 = etcd_client.put("/servers/usr", "127.0.0.1:8080", lease_id).get();
    if (!resp1.is_ok())
    {
        cout << "服务：" << "/server/usr 127.0.0.1:8080" << "注册失败> " << resp1.error_message() << endl;
    }
    cout << "服务：" << "/server/usr 127.0.0.1:8080" << "注册成功！" << endl;

    //add 造作仅在键不存在时才写入键值对，并且默认lease_id == 0, 表示不关联租约，只能手动删除
    auto resp2 = etcd_client.add("/server/friend", "127.0.0.1:8081").get();
    if (!resp2.is_ok())
    {
        cout << "服务：" << "/server/friend 127.0.0.1:8081" << "注册失败> " << resp1.error_message() << endl;
    }
    cout << "服务：" << "/server/friend 127.0.0.1:8081" << "注册成功!"<< endl;

    sleep(20);*/

    init_mylogger(false, "test", "", 0, false);
    ns_etcd_client::Register t("127.0.0.1:2379", "/servers/key", "val");

    sleep(30);
    return 0;
}